/**
 * 描述: 服务-首页管理
 * 版权: Copyright (c) 2019
 * 公司: 深圳市网商天下科技开发有限公司
 * 作者: 许堉颖
 * 版本: 1.0.0
 * 创建时间: 2019/04/29 16:52
 */
import {Service, RequestParams} from 'vue-element-simple';

// ====================小程序云函数调用
/**
 * 小程序云函数调用
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationToRequestWxCloudApi = async function (params = {}) {
  const request = new RequestParams();
  // 请求来源
  request.put('source', 'WEB');
  // 云函数接口名
  request.put('action', params['action']).checkEmpty('云函数接口名');
  // 请求的参数
  request.put('params', params['params']);
  return await this.getService(`/admin/develop/wxAppInterface`, request);
};
// ====================小程序云函数调用

// ====================轮播图管理
/**
 * 分页获取轮播图列表
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetBannerList = async function (params = {}) {
  const request = new RequestParams();
  // 页数
  request.put('page', params['page'], 1);
  // 每页条数
  request.put('pageSize', params['pageSize'], 20);
  // 模糊搜索标题
  request.put('title', params['title']);
  return await this.getService(`/admin/banner/getPageList`, request);
};

/**
 * 修改轮播图状态
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSetBannerStatus = async function (params = {}) {
  const request = new RequestParams();
  // 轮播图ID
  request.put('id', params['id']).checkEmpty('轮播图ID');
  // 轮播图状态  1启用；2禁用
  request.put('status', params['status']).checkEmpty('轮播图状态');
  return await this.getService(`/admin/banner/changeStatus`, request);
};

/**
 * 根据id获取轮播图信息
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetBannerDetails = async function (params = {}) {
  const request = new RequestParams();
  // 页数
  request.put('id', params['id'], 1);
  return await this.getService(`/admin/banner/getDetailsById`, request);
};
/**
 * 添加轮播图
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationAddBanner = async function (params = {}) {
  const request = new RequestParams();
  // 轮播图标题
  request.put('title', params['title']).checkEmpty('轮播图标题');
  // 轮播图
  request.put('icon', params['icon']).checkEmpty('轮播图');
  // 跳转路径
  request.put('url', params['url']);
  return await this.getService(`/admin/banner/create`, request);
};

/**
 * 编辑轮播图
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationModifyBanner = async function (params = {}) {
  const request = new RequestParams();
  // 轮播图id
  request.put('id', params['id']).checkEmpty('轮播图ID');
  // 轮播图标题
  request.put('title', params['title']).checkEmpty('轮播图标题');
  // 轮播图
  request.put('icon', params['icon']).checkEmpty('轮播图');
  // 跳转路径
  request.put('url', params['url']);
  return await this.getService(`/admin/banner/update`, request);
};

/**
 * 删除轮播图
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationDeleteBanner = async function (params = {}) {
  const request = new RequestParams();
  // 轮播图id
  request.put('id', params['id']).checkEmpty('轮播图ID');
  return await this.getService(`/admin/banner/delete`, request);
};
// ====================轮播图管理

// ====================导航栏图标管理
/**
 * 分页获取导航栏图标列表
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetMenuList = async function (params = {}) {
  const request = new RequestParams();
  // 页数
  request.put('page', params['page'], 1);
  // 每页条数
  request.put('pageSize', params['pageSize'], 20);
  // 模糊搜索标题
  request.put('search', params['search']);
  return await this.getService(`/admin/lineMenu/getPageList`, request);
};

/**
 * 修改导航栏图标状态
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSetMenuStatus = async function (params = {}) {
  const request = new RequestParams();
  // 导航栏图标ID
  request.put('id', params['id']).checkEmpty('导航栏图标ID');
  // 导航栏图标状态  1启用；2禁用
  request.put('status', params['status']).checkEmpty('导航栏图标状态');
  return await this.getService(`/admin/lineMenu/changeStatus`, request);
};

/**
 * 根据id获取导航栏图标信息
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetMenuDetails = async function (params = {}) {
  const request = new RequestParams();
  // 页数
  request.put('id', params['id'], 1);
  return await this.getService(`/admin/lineMenu/getDetailsById`, request);
};
/**
 * 添加导航栏图标
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationAddMenu = async function (params = {}) {
  const request = new RequestParams();
  // 导航栏图标标题
  request.put('title', params['title']).checkEmpty('导航栏图标标题');
  // 导航栏图标
  request.put('icon', params['icon']).checkEmpty('导航栏图标');
  // 跳转路径
  request.put('url', params['url']);
  // 跳转路径
  request.put('sort', params['sort']);
  return await this.getService(`/admin/lineMenu/create`, request);
};

/**
 * 编辑导航栏图标
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationModifyMenu = async function (params = {}) {
  const request = new RequestParams();
  // 导航栏图标id
  request.put('id', params['id']).checkEmpty('导航栏图标ID');
  // 导航栏图标标题
  request.put('title', params['title']).checkEmpty('导航栏图标标题');
  // 导航栏图标
  request.put('icon', params['icon']).checkEmpty('导航栏图标');
  // 跳转路径
  request.put('url', params['url']);
  // 跳转路径
  request.put('sort', params['sort']);
  return await this.getService(`/admin/lineMenu/update`, request);
};

/**
 * 删除导航栏图标
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationDeleteMenu = async function (params = {}) {
  const request = new RequestParams();
  // 导航栏图标id
  request.put('id', params['id']).checkEmpty('导航栏图标ID');
  return await this.getService(`/admin/lineMenu/delete`, request);
};

// ====================导航栏图标管理

// ====================功能管理
/**
 * 获取功能设置
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetPluginConfig = async function () {
  const request = new RequestParams();
  return await this.getService(`/admin/wxApp/getConfig/setting`, request);
};

/**
 * 获取功能设置
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSavePluginConfig = async function (params) {
  const request = new RequestParams();
  // 钱包状态
  request.put('walletStatus', params['walletStatus']);
  // 上下线状态
  request.put('onlineStatus', params['onlineStatus']);
  return await this.getService(`/admin/wxApp/saveConfig/setting`, request);
};
// ====================功能管理

// ====================标题栏管理
/**
 * 获取标题栏设置
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetWxAppTitle = async function () {
  const request = new RequestParams();
  return await this.getService(`/admin/wxApp/getConfig/wxAppTitle`, request);
};

/**
 * 更新标题栏设置
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSaveWxAppTitle = async function (params) {
  const request = new RequestParams();
  // 钱包状态
  request.put('mainColor', params['mainColor']);
  // 上下线状态
  request.put('wxappTitle', params['wxappTitle']);
  // 上下线状态
  request.put('navbarShowMode', params['navbarShowMode']);
  return await this.getService(`/admin/wxApp/saveConfig/wxAppTitle`, request);
};
// ====================标题栏管理

// ====================宣传语管理
/**
 * 获取宣传语
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetWxAppSlogan = async function () {
  const request = new RequestParams();
  return await this.getService(`/admin/wxApp/getConfig/slogan`, request);
};

/**
 * 更新宣传语
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSaveWxAppSlogan = async function (params) {
  const request = new RequestParams();
  // 上下线状态
  request.put('content', params['content']);
  return await this.getService(`/admin/wxApp/saveConfig/slogan`, request);
};
// ====================标题栏管理

